﻿namespace Home.Security.Authentication.Repository
{
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Home.Data;

    internal class AuthenticationDbContext : EntityFrameworkDbContext
    {
        static AuthenticationDbContext()
        {
            Database.SetInitializer<AuthenticationDbContext>(null);
        }

        public AuthenticationDbContext(bool enableTransaction)
            : base("Name=DefaultConnection", enableTransaction)
        {
        }

        public DbSet<AuthenticationEntity> Authentications { get; set; }

        public DbSet<ApplicationUserEntity> Users { get; set; }

        protected override void OnModelCreating(DbModelBuilder builder)
        {
            {
                //var entity = builder.CreateEntity<OptimizationComment>("t_optimization_visitor_comment");

                //entity.Property(m => m.VisitorId)
                //      .HasColumnName("visitor_id")
                //      .IsRequired();

                //entity.Property(m => m.RegisteredUserId)
                //      .HasColumnName("registered_user_id")
                //      .IsOptional();

                //entity.Property(m => m.CategoryKey)
                //      .HasColumnName("category_key")
                //      .IsRequired()
                //      .HasMaxLength(2048)
                //      .IsUnicode(false)
                //      .IsVariableLength();

                //entity.Property(m => m.CategoryValue)
                //      .HasColumnName("category_value")
                //      .IsOptional()
                //      .HasMaxLength(2048)
                //      .IsUnicode(true)
                //      .IsVariableLength();

                //entity.Property(m => m.ParentId)
                //      .HasColumnName("parent_id")
                //      .IsOptional();

                //entity.Property(m => m.Content)
                //      .HasColumnName("content")
                //      .IsOptional()
                //      .HasMaxLength(2048)
                //      .IsUnicode(true)
                //      .IsVariableLength();

                //entity.Property(m => m.Score)
                //      .HasColumnName("score")
                //      .IsOptional();
            }
        }
    }
}
